struct color {
	unsigned char red;
	unsigned char green;
	unsigned char blue;
};

enum switch_type {
  POPBUMPER,
  SLINGSHOT,
  ZONE,
  TOUPPERLEVEL,
  TOLOWERLEVEL
};

struct switch_area {
  unsigned int x0;
  unsigned int y0;
  unsigned int x1;
  unsigned int y1;
  enum switch_type type;
};

struct prg_contents {
	unsigned int bgi_addr[4],
		     mask_addr[8],
		     palette_addr,
		     flipper_addr,
         PopBumpers_addr,
         SlingshotBumpers_addr,
         Zones_addr[4],
         ToUpperLevel_addr,
         ToLowerLevel_addr;

  unsigned int num_switches;
	unsigned char bgimage[320*576],
		      mask[8][320*576],
		      flipper[64*576];

  struct switch_area* switches;

	struct color palette[256];
	char filename[256];
};

